#define _CRT_SECURE_NO_WARNINGS 1


//#include <stdio.h>
//int main()
//{
//    int arr[] = { 1,2,3,4,5 };
//    short* p = (short*)arr;
//    int i = 0;
//    for (i = 0; i < 4; i++)
//    {
//        *(p + i) = 0;
//    }
//
//    for (i = 0; i < 5; i++)
//    {
//        printf("%d ", arr[i]);
//    }
//    return 0;
//}






//#include <stdio.h>
//void Func(char* str, int sz)
//{
//    int left = 0;
//    int right = sz - 1;
//    while (left <= right)
//    {
//        int tmp = 0;
//        tmp = str[left];
//        str[left] = str[right];
//        str[right] = tmp;
//        left++;
//        right--;
//    }
//    for (int i = 0; i < 20; i++)
//    {
//        printf("%s", str[i]);
//    }
//}
//int main()
//{
//    char str[10000] = { 0 };
//    int sz = sizeof(str) / sizeof(str[0]);
//    scanf("%s", str);
//    Func(str, sz);
//    return 0;
//}




//模拟实现库函数strlen
//size_t my_strlen(char* str)
//{
//    int i = 0;
//    int count = 0;
//    while (*(str + i) != '\0')
//    {
//        count++;
//        i++;
//    }
//    return count;
//}
//#include<stdio.h>
//int main()
//{
//    char str[] = "abcdef";
//    size_t ret = my_strlen(str);
//    printf("%zd\n", ret);
//    return 0;
//}

//用指针相减计算实现strlen
//#include<stdio.h>
//size_t my_strlen(char* str)
//{
//	char* start = str;
//	char* end = str;
//	while (*end != '\0')
//	{
//		end++;
//	}
//	return end - start;
//}
//int main()
//{
//	char str[] = "abcdef";
//	size_t ret = my_strlen(str);
//	printf("%d\n", ret);
//	return 0;
//}

//调整数组使奇数全部都位于偶数前面
//#include<stdio.h>
//void Func(int* pf, int len)
//{
//	int i = 0;
//	int count = 0;//奇数个数
//	for (i = 0; i < len; i++)
//	{
//		if (pf[i] % 2 != 0)
//		{
//			count++;
//			int j = 0;
//			pf[j] = pf[i];
//			j++;
//		}
//	}
//	for (i = 0; i < len; i++)
//	{
//		printf("%d ", pf[i]);
//	}
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	Func(arr,len);
//	return 0;
//}




//#include<stdio.h>
//void Func(int* arr, int len)
//{
//	int i = 0;
//	for (i = 0; i < len - 1; i++)
//	{
//		int flag = 1;//已经排好序
//		int j = 0;
//		for (j = 0; j < len - 1 - i; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				flag = 0;
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//			}
//			
//		}
//		if (flag)
//			break;
//	}
//	for (i = 0; i < len; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//}
//int main()
//{
//	int arr[] = { 2,6,8,4,7,9,3,1,10,5 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	Func(arr, len);
//	return 0;
//}


//写一个函数打印arr数组的内容，不使用数组下标，使用指针。
//arr是一个整形一维数组。

//#include<stdio.h>
//void Print(int* pf, int len)
//{
//	int i = 0;
//	for (i = 0; i < len; i++)
//	{
//		printf("%d ", *(pf + i));
//	}
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	Print(arr, len);
//	return 0;
//}